#include <map>
#include <string>
#include <vector>
#include <iostream>

using namespace std;

pair<string, int> process(vector<string> &);

int main()
{
    pair<string, string> anon;          // 保存两个 string
    pair<string, size_t> word_count;    // 保存一个 string 和一个 size_t
    pair<string, vector<int>> line;     // 保存 string 和 vector<int>

    pair<string, string> author{"James", "Joyce"};

    // 打印结果
    cout << author.first << " " << author.second << endl;

    vector<string> vec{"aaa", "bbb", "ccc"};
    pair<string, int> pa = process(vec);
    cout << pa.first << " " << pa.second << endl;
}

pair<string, int> process(vector<string> &v)
{
    // 处理 v
    if (!v.empty())
        // return pair<string, int>(v.back(), v.back().size()); // 显式构造返回值
        // return make_pair(v.back(), v.back().size()); // 使用 make_pair
        return {v.back(), v.back().size()}; // 列表初始化
    else
        return pair<string, int>(); // 隐式构造返回值
}